home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / lib / include / dev / tty.h < prev    next >
C/C++ Source or Header  |  1990-07-17  |  3KB  |  81 lines

  1. /*
  2.  * tty.h --
  3.  *
  4.  *    This file defines the device-dependent IOControl calls and related
  5.  *    structres for "tty" devices.  These devices are supposed to behave
  6.  *    identically to tty's in 4.2 BSD UNIX.  See the UNIX documentation
  7.  *    for detailed documentation.
  8.  *
  9.  * Copyright 1987 Regents of the University of California
  10.  * All rights reserved.
  11.  * Permission to use, copy, modify, and distribute this
  12.  * software and its documentation for any purpose and without
  13.  * fee is hereby granted, provided that the above copyright
  14.  * notice appear in all copies.  The University of California
  15.  * makes no representations about the suitability of this
  16.  * software for any purpose.  It is provided "as is" without
  17.  * express or implied warranty.
  18.  *
  19.  * $Header: /sprite/src/lib/include/dev/RCS/tty.h,v 1.5 90/07/16 22:52:06 shirriff Exp $ SPRITE (Berkeley)
  20.  */
  21.  
  22. #ifndef _TTY
  23. #define _TTY
  24.  
  25. /*
  26.  * Constants:  these are the IOControl operations defined for tty's.
  27.  * For compatibility, the UNIX IOControl names are defined as well
  28.  * as the corresponding Sprite names.
  29.  */
  30.  
  31. #define IOC_TTY (1<<16)
  32.  
  33. #define IOC_TTY_GET_PARAMS    (IOC_TTY | 0x2)
  34. #define IOC_TTY_SET_PARAMS    (IOC_TTY | 0x3)
  35. #define IOC_TTY_GETP        IOC_TTY_GET_PARAMS
  36. #define IOC_TTY_SETP        IOC_TTY_SET_PARAMS
  37. #define IOC_TTY_SETN        (IOC_TTY | 0x4)
  38. #define IOC_TTY_EXCL        (IOC_TTY | 0x5)
  39. #define IOC_TTY_NXCL        (IOC_TTY | 0x6)
  40. #define IOC_TTY_HUP_ON_CLOSE    (IOC_TTY | 0x7)
  41. #define IOC_TTY_FLUSH        (IOC_TTY | 0x8)
  42. #define IOC_TTY_INSERT_CHAR    (IOC_TTY | 0x9)
  43. #define IOC_TTY_SET_BREAK    (IOC_TTY | 0xa)
  44. #define IOC_TTY_CLEAR_BREAK    (IOC_TTY | 0xb)
  45. #define IOC_TTY_SET_DTR        (IOC_TTY | 0xc)
  46. #define IOC_TTY_CLEAR_DTR    (IOC_TTY | 0xd)
  47. #define IOC_TTY_GET_TCHARS    (IOC_TTY | 0x11)
  48. #define IOC_TTY_SET_TCHARS    (IOC_TTY | 0x12)
  49. #define IOC_TTY_GET_LTCHARS    (IOC_TTY | 0x13)
  50. #define IOC_TTY_SET_LTCHARS    (IOC_TTY | 0x14)
  51. #define IOC_TTY_BIS_LM        (IOC_TTY | 0x15)
  52. #define IOC_TTY_BIC_LM        (IOC_TTY | 0x16)
  53. #define IOC_TTY_GET_LM        (IOC_TTY | 0x17)
  54. #define IOC_TTY_SET_LM        (IOC_TTY | 0x20)
  55. #define IOC_TTY_GET_DISCIPLINE    (IOC_TTY | 0x21)
  56. #define IOC_TTY_SET_DISCIPLINE    (IOC_TTY | 0x22)
  57. #define IOC_TTY_ADD_EVENT    (IOC_TTY | 0x23)
  58. #define IOC_TTY_GET_TERMIO      (IOC_TTY | 0x24)
  59. #define IOC_TTY_SET_TERMIO      (IOC_TTY | 0x25)
  60. #define IOC_TTY_GET_WINDOW_SIZE    (IOC_TTY | 0x26)
  61. #define IOC_TTY_SET_WINDOW_SIZE (IOC_TTY | 0x27)
  62. #define IOC_TTY_NOT_CONTROL_TTY    (IOC_TTY | 0x28)
  63.  
  64. /*
  65.  * The data structures defined below just duplicate the 4.2 BSD data
  66.  * structures with the same names.  All of this should be eliminated
  67.  * once the kernel has been changed to use the new ttyDriver.
  68.  */
  69.  
  70. #ifndef _IOCTL
  71. #include <sys/ioctl.h>
  72. #endif
  73.  
  74. typedef struct sgttyb Tty_BasicParams;
  75.  
  76. typedef struct tchars Tty_Chars;
  77.  
  78. typedef struct ltchars Tty_LocalChars;
  79.  
  80. #endif _TTY
  81.